#include <bits/stdc++.h>
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
#define ordered_set tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>
// #define ordered_set tree<pair<ll,ll>, null_type, less<pair<ll,ll>>, rb_tree_tag, tree_order_statistics_node_update>
typedef long long int ll;
typedef long double ld;
const ld eps = 1e-9;
const int mod = 1000000007;
const ll inf = 1e18;
const int N1 = 2e5 + 10;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
// mt19937 rng((unsigned int)chrono::steady_clock::now().time_since_epoch().count());
// auto start = chrono::high_resolution_clock::now();
// code here. dont use mbinpow,binpow,right, fact and isprime as function names
// (1/b)%M is (b^(M-2))%M
ll n;
cin>>n;
vector<ll> v(n);
for (ll i = 0; i < n;i++){
cin >> v[i];
}
vector<vector<ll>> dp(n, vector<ll>(n, 0));
vector<vector<ll>> mx(n, vector<ll>(n, 0));
for (ll i = 0; i < n;i++){
dp[i][i] = v[i];
mx[i][i] = v[i];
}
for (ll len = 1; len < n;len++){
for (ll i = 0; i < n - len;i++){
ll j = i + len;
dp[i][j] = dp[i][j - 1] ^ dp[i + 1][j];
mx[i][j] = max(dp[i][j], max(mx[i][j - 1], mx[i + 1][j]));
}
}
ll q;
cin >> q;
while(q--){
ll l, r;
cin >> l >> r;
l--, r--;
cout << mx[l][r] << '\n';
}
}
1302. Deepest Leaves Sum | 1209. Remove All Adjacent Duplicates in String II |
994. Rotting Oranges | 983. Minimum Cost For Tickets |
973. K Closest Points to Origin | 969. Pancake Sorting |
967. Numbers With Same Consecutive Differences | 957. Prison Cells After N Days |
946. Validate Stack Sequences | 921. Minimum Add to Make Parentheses Valid |
881. Boats to Save People | 497. Random Point in Non-overlapping Rectangles |
528. Random Pick with Weight | 470. Implement Rand10() Using Rand7() |
866. Prime Palindrome | 1516A - Tit for Tat |
622. Design Circular Queue | 814. Binary Tree Pruning |
791. Custom Sort String | 787. Cheapest Flights Within K Stops |
779. K-th Symbol in Grammar | 701. Insert into a Binary Search Tree |
429. N-ary Tree Level Order Traversal | 739. Daily Temperatures |
647. Palindromic Substrings | 583. Delete Operation for Two Strings |
518. Coin Change 2 | 516. Longest Palindromic Subsequence |
468. Validate IP Address | 450. Delete Node in a BST |